[V C++]问题:请问怎样判断一个数是否为 完数 ?用FOR语句`谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/16 08:11:00
不是要求1000以内的所有完数,而是判断输入的一数是否为完数!
头文件最好是<iostream.h>
而且,用cin语句输入判断的那种!
我还是初学者`

#include"stdio.h"
main()
{
int j,i,k=0;
for(j=6;j<1001;j++)
{
for(i=1;i<=j/2;i++)if(j%i==0)k+=i;
if(j==k)
{
printf("%4d its factors are ",k);
for(i=1;i<=j/2;i++)
if(j%i==0)printf("%d,",i);printf("\b \n");
}
k=0;
}
getch();
}

试试这个

#include "stdafx.h"
#include <iostream.h>

int number (int);
int main()
{
int n;
cout<<"请输入你要判断的数:";
cin>>n;
int result=number(n);
if(result==-1)
cout<<"这个数不是完数:"<<endl;
else
cout<<result<<"是个完数"<<endl;
return 0;
}
int number (int a)
{
int total=0,re=0;

for(int i=0;i<a;i++)
{
total+=i;
if(a==total)